|
In computer programming and particularly in Lisp, an association list, often referred to as an alist, is a linked list in which each list element (or node) comprises a key and a value. The association list is said to ''associate'' the value with the key. In order to find the value associated with a given key, each element of the list is searched in turn, starting at the head, until the key is found. Duplicate keys that appear later in the list are ignored. It is a simple way of implementing an associative array. The disadvantage of association lists is that the time to search is O(n), where n is the length of the list. And unless the list is regularly pruned to remove elements with duplicate keys, multiple values associated with the same key will increase the size of the list, and thus the time to search, without providing any compensatory advantage. One advantage is that a new element can be added to the list at its head, which can be done in constant time. For quite small values of n it is more efficient in terms of time and space than more sophisticated strategies such as hash tables and trees. In the early development of Lisp, association lists were used to resolve references to free variables in procedures. Many programming languages, including Lisp, Scheme, OCaml, and Haskell have functions for handling association lists in their standard library. == In HTML == The markup language HTML and its derivative XHTML have an analogous set of association list elements, more often referred to as description lists, and known as definition lists prior to HTML5. The element delimits the list, the term (key) is delimited by element, and the description or definition (value) is delimited by the element. The and elements are sister elements, under (inside) the node. Any given term may be followed by multiple descriptions/definitions, and any of the latter may be preceded by more than one of the former (e.g., alternative spellings of or names for the term). A does not require a at all (i.e., may be undefined); a null can be used as an empty placeholder for later association. A with no (or only a null ) with which to associate is not technically invalid markup, but is semantically poorly formed in most contexts. No other elements may be directly under the node. Basic ''flow content'' nodes (elements), such as italicization and links, may be used within a term node. The description node may contain any flow content at all, including sectioning and heading elements. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「association list」の詳細全文を読む スポンサード リンク
|